package com.acme.bankapp.domain.bank;

import com.acme.bankapp.account.NotEnoughFundsException;
import com.acme.bankapp.account.OverDraftLimitExceededException;

/**
 * @author Andrey Alekov
 * Bank account interface.
 */
public interface Account {
	/*
	 * Return actual account balance.
	 * @return Actual account balance.
	 */
	double getBalance();
	/*
	 * Deposit account to @param value.
	 * @param amount
	 * @return True if operation successful, else return False.
	 */
	public void deposit(double amount);
	/*
	 * Withdraw account to @param value.
	 * @param amount
	 * @return True if operation successful, else return False.
	 */
	public void withdraw(double amount) throws OverDraftLimitExceededException, NotEnoughFundsException;
}